import {
  fileURLToPath,
  URL
} from 'node:url'
import {
  defineConfig,
  loadEnv
} from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig(({
  mode
}) => {
  let env = loadEnv(mode, process.cwd())
  const serverUrl = env.VITE_SERVER_URL
  const wsServerUrl = env.VITE_APP_WS_URL
  console.log("http服务器地址：", serverUrl)
  console.log("ws服务器地址：", wsServerUrl)
  return {
    define: {
      __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "true",
    },
    plugins: [
      vue(),
    ],
    envDir: "./",
    // 解决@引入问题
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src',
          import.meta.url))
      }
    },
    server: {
      host: "0.0.0.0", // 运行时域名，设置成'0.0.0.0',在同一个局域网下，如果你的项目在运行，同时可以通过你的http://ip:port/...访问你的项目
      port: 1310, //运行时的端口
      proxy: {
        "/ws": { // 配置ws访问的地址
          target: wsServerUrl,
          changeOrigin: true,
          ws: true,
        },
        "/api": { // 配置后端代理访问的地址
          target: serverUrl,
          changeOrigin: true,
          ws: false,
        }
      }
    }
  }
})
